package model.simulationmodel.logicelements;

import model.editormodel.Input;
import model.editormodel.LogicEditorElement;
import model.editormodel.Output;
import model.simulationmodel.SimulationModel;

/**
 * <b>Erbt:</b> <code>LogicSimulationElement</code> <br>
 * <b>Funktion:</b> Anzeigen des angelegten logischen Wertes<br>
 * <b>Logik:</b> a = Eingang <br>
 * a || Lampe <br>
 * ----<br>
 * 1 || leuchtet <br>
 * 0 || leuchtet nicht <br>
 * Undefined || grau
 * <br>
 * Repraesentiert eine Lampe.
 * 
 * @author Team Locsi
 * 
 */
public class LogicLamp extends LogicSimulationElement {

	/**
	 * Dieser Konstruktor erzeugt ein neues <code>LogicLamp</code>-Objekt.
	 * 
	 * @param sModel
	 *            <code>SimulationModel</code> - Referenz auf das
	 *            <code>SimulationModel</code>
	 * @param logicEditorElement
	 *            <code>LogicEditorElement</code> - Referenz auf das zugehoerige
	 *            <code>LogicEditorElement</code>
	 */
	public LogicLamp(SimulationModel sModel,
			LogicEditorElement logicEditorElement) {
		super(sModel, logicEditorElement);
	}

	@Override
	public void calcLogicValue() {
		// setzt den Ausgangswert auf den Wert des Eingangs
		setOutputValue(Output.STD_O, logicInputValueMap.get(Input.STD_A));
	}
}